package com.jic.order.model.entity;

import java.util.Date;
import com.jic.common.base.vo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@ApiModel(description = " m_order ")
public class MOrder extends BaseEntity {
	private static final long serialVersionUID = 1L;
    @ApiModelProperty(notes = "主键ID")
    private Long id;

    @ApiModelProperty(notes = "请求流水号")
    private String serialNo;

    @ApiModelProperty(notes = "订单父编号")
    private String parentOrderNo;

    @ApiModelProperty(notes = "订单编号")
    private String orderNo;

    @ApiModelProperty(notes = "订单状态，1.待支付 2.已支付3.待发货4.已发货5.确认收货6.待评价7.已关闭8.付款处理中9.已退款10.已完成")
    private Integer orderStatus;

    @ApiModelProperty(notes = "0 代表普通下单 1代表代客下单")
    private Long orderType;

    @ApiModelProperty(notes = "冗余-销售渠道")
    private Integer saleChannel;

    @ApiModelProperty(notes = "订单标签，VIP、紧急、特别、关注、搁置")
    private Integer orderTag;

    @ApiModelProperty(notes = "")
    private String storeLogoUrl;

    @ApiModelProperty(notes = "下单时间")
    private Date buyTime;

    @ApiModelProperty(notes = "购买人")
    private Long buyerId;

    @ApiModelProperty(notes = "购买人用户名")
    private String buyerUsername;

    @ApiModelProperty(notes = "购买人真实名称")
    private String buyerRealname;

    @ApiModelProperty(notes = "销售总金额")
    private BigDecimal saleTotalAmount;

    @ApiModelProperty(notes = "优惠总金额，优惠金额=销售总金额-购买总金额")
    private BigDecimal discountTotalAmount;

    @ApiModelProperty(notes = "购买总金额，购买总金额=销售总金额-优惠总金额")
    private BigDecimal buyTotalAmount;

    @ApiModelProperty(notes = "物流总费")
    private BigDecimal expressTotalFee;

    @ApiModelProperty(notes = "实付总金额，实付总金额=购买总金额+物流费")
    private BigDecimal actualPayTotalAmount;

    @ApiModelProperty(notes = "备注")
    private String mark;

    @ApiModelProperty(notes = "版本号")
    private Long version;

    @ApiModelProperty(notes = "团购ID")
    private String groupId;

    @ApiModelProperty(notes = "活动ID")
    private String promotionId;

    @ApiModelProperty(notes = "活动类型 类型:1单一促销,2满量促销,3满额促销,4秒杀,5赠送类促销,6组合促销7.单品X件优惠,8换购,9预售,11优惠券")
    private Integer promotionType;

    @ApiModelProperty(notes = "创建人姓名")
    private String creatorName;

    @ApiModelProperty(notes = "更新人姓名")
    private String updaterName;

    @ApiModelProperty(notes = "预计发货时间")
    private Date predictDeliveryTime;

    @ApiModelProperty(notes = "商户名称")
    private String merchantName;

    @ApiModelProperty(notes = "'商户id")
    private Long merchantId;

    @ApiModelProperty(notes = "订单类型（0-全部 1-积分订单 2-普通订单）")
    private Long orderTypeB;

    @ApiModelProperty(notes = "'来源渠道（0-全部 1-APP 2-商城小程序 3-企业微信 4-We2000公众号 5-商城公众号 6-其他）',")
    private Long sources;

    @ApiModelProperty(notes = "订单来源（0-全部 1-拼团 2-秒杀 3-预售 4-抽奖")
    private Long orderSources;

    @ApiModelProperty(notes = "收货人手机号")
    private String consigneePhone;

    @ApiModelProperty(notes = "商户code'")
    private String merchantCode;

    @ApiModelProperty(notes = "商品编码")
    private String commodityCode;

    @ApiModelProperty(notes = "运单编号'")
    private String waybillNumber;

    @ApiModelProperty(notes = "发货日期")
    private Date deliveryDate;

    @ApiModelProperty(notes = "支付方式（0-全部 1-微信分期 2-We2000 3-微信支付 4-微信银行储蓄卡）',")
    private Long payment;

    @ApiModelProperty(notes = "'是否开发票（0-全部 1-是 2-否）',")
    private Long whetherInvoice;

    @ApiModelProperty(notes = "结算状态（0-全部 1-未结算 2-已清算 3-轧差中 4-已轧差）',")
    private Long balanceSts;

    @ApiModelProperty(notes = "订单积分合计")
    private BigDecimal orderCumtrapz;

    @ApiModelProperty(notes = "商品名称")
    private String goodsName;

    @ApiModelProperty(notes = "外部订单编号")
    private String externalOrderCode;

    @ApiModelProperty(notes = "销售商户")
    private String salesBusiness;

    @ApiModelProperty(notes = "收货人名字")
    private String receivername;

    @ApiModelProperty(notes = "订单支付表")
    private MOrderPay mOrderPay;

    @ApiModelProperty(notes = "订单商品表")
    private MOrderGoods mOrderGoods;

    @ApiModelProperty(notes = "订单包裹表")
    private MOrderBale mOrderBale;




}
